package com.ssy.lingxi.after.sale.model.vo.response;

import com.ssy.lingxi.after.sale.model.bo.EvaluateBO;
import com.ssy.lingxi.after.sale.model.bo.ProofFileBO;
import com.ssy.lingxi.after.sale.model.bo.ReceiveGoodsBO;
import com.ssy.lingxi.after.sale.model.vo.request.ManualDeliveryGoodsVO;

import java.io.Serializable;
import java.util.List;

/**
 * 换货申请详情
 * @author 伍将
 * @date 2020/9/11
 * @version 2.0.0
 */
public class ReplaceGoodsDetailVO implements Serializable {
    private static final long serialVersionUID = 2836242139643057870L;

    /**
     * 换货id
     */
    private Long replaceId;

    /**
     * 申请单号
     */
    private String applyNo;

    /**
     * 申请摘要
     */
    private String applyAbstract;

    /**
     * 采购会员名称
     */
    private String consumerName;

    /**
     * 供应商名称
     */
    private String supplierName;

    /**
     * 单据时间
     */
    private String applyTime;

    /**
     * 内部状态
     * 待提交换货 - 1
     * 审核通过(提交) - 2
     * 审核不通过(提交) - 30
     * 审核通过(一级) - 3
     * 审核不通过(一级) - 31
     * 审核通过(二级) - 4
     * 审核不通过(二级) - 5
     * 审核通过(确认) - 6
     * 审核不通过(确认) - 7
     * 待新增退货发货单 - 8
     * 待审核退货发货单 - 9
     * 待新退货增物流单 - 10
     * 待确认退货物流单 - 11
     * 待确认退货发货 - 12
     * 待新增退货入库单 - 13
     * 待审核退货入库单 - 14
     * 待确认退货收货 - 15
     * 待确认退货回单 - 16
     * 待新增换货发货单 - 17
     * 待审核换货发货单 - 18
     * 待新增换货物流单 - 19
     * 待确认换货物流单 - 20
     * 待确认换货发货 - 21
     * 待新增换货入库单 - 22
     * 待审核换货入库单 - 23
     * 待确认换货收货 - 24
     * 待确认换货回单 - 25
     * 待确认售后完成 - 26
     * 已确认售后完成 - 27
     * 不接受退货物流单 - 28
     * 不接受换货物流单 - 29
     */
    private Integer innerStatus;

    /**
     * 内部状态名称
     */
    private String innerStatusName;

    /**
     * 外部状态
     */
    private Integer outerStatus;

    /**
     * 外部状态名称
     */
    private String outerStatusName;

    /**
     * 工作流类型：默认-20，手工发货-30
     */
    private Integer taskType;

    /**
     * 手工退货发货地址
     */
    private ManualDeliveryGoodsVO manualReturnGoodsAddress;

    /**
     * 手工换货发货地址
     */
    private ManualDeliveryGoodsVO manualReplaceGoodsAddress;

    /**
     * 相关故障文件
     */
    private List<ProofFileBO> faultFileList;

    /**
     * 换货收货地址
     */
    private ReceiveGoodsBO replaceGoodsAddress;

    /**
     * 换货退货地址
     */
    private ReceiveGoodsBO returnGoodsAddress;

    /**
     * 评价
     */
    private EvaluateBO evaluate;

    /**
     * 外部流转
     */
    private List<TaskStepVO> outerTaskList;

    /**
     * 内部流转
     */
    private List<TaskStepVO> innerTaskList;

    /**
     * 供应商会员id
     */
    private Long parentMemberId;

    /**
     * 供应商会员角色id
     */
    private Long parentMemberRoleId;

    /**
     * 退货批次
     */
    private Integer returnBatch;

    /**
     * 换货批次
     */
    private Integer replaceBatch;

    /**
     * 订单类型：1.询价采购2.需求采购3.现货采购4.集采5.渠道直采6.渠道现货7.积分兑换8.渠道积分兑换
     */
    private Integer orderType;

    /**
     * 换货商品明细
     */
    private List<ReplaceGoodsDetailQueryVO> goodsDetailList;

    /**
     * 退货统计
     */
    private List<ReplaceGoodsStatisticsVO> returnStatisticsList;
    /**
     * 退货明细
     */
    private List<DeliveryGoodsVO> returnDeliveryGoodsList;

    /**
     * 换货统计
     */
    private List<ReplaceGoodsStatisticsVO> replaceStatisticsList;

    /**
     * 换货明细
     */
    private List<DeliveryGoodsVO> replaceDeliveryGoodsList;

    /**
     * 任务key.
     */
    private String taskTypeKey;

    /**
     * 换货原因
     */
    private String replaceReason;
    /**
     * 店铺id
     */
    private Long shopId;
    /**
     * 店铺logo
     */
    private String shopLogo;
    /**
     * 店铺名称
     */
    private String shopName;

    /**
     * AgentFlagEnum
     * 代客标识: 0 - 非代客； 1 - 代客
     */
    private Integer agentFlag;

    public Integer getOrderType() {
        return orderType;
    }

    public void setOrderType(Integer orderType) {
        this.orderType = orderType;
    }

    public Integer getTaskType() {
        return taskType;
    }

    public void setTaskType(Integer taskType) {
        this.taskType = taskType;
    }

    public ManualDeliveryGoodsVO getManualReturnGoodsAddress() {
        return manualReturnGoodsAddress;
    }

    public void setManualReturnGoodsAddress(ManualDeliveryGoodsVO manualReturnGoodsAddress) {
        this.manualReturnGoodsAddress = manualReturnGoodsAddress;
    }

    public ManualDeliveryGoodsVO getManualReplaceGoodsAddress() {
        return manualReplaceGoodsAddress;
    }

    public void setManualReplaceGoodsAddress(ManualDeliveryGoodsVO manualReplaceGoodsAddress) {
        this.manualReplaceGoodsAddress = manualReplaceGoodsAddress;
    }

    public List<DeliveryGoodsVO> getReturnDeliveryGoodsList() {
        return returnDeliveryGoodsList;
    }

    public void setReturnDeliveryGoodsList(List<DeliveryGoodsVO> returnDeliveryGoodsList) {
        this.returnDeliveryGoodsList = returnDeliveryGoodsList;
    }

    public List<DeliveryGoodsVO> getReplaceDeliveryGoodsList() {
        return replaceDeliveryGoodsList;
    }

    public void setReplaceDeliveryGoodsList(List<DeliveryGoodsVO> replaceDeliveryGoodsList) {
        this.replaceDeliveryGoodsList = replaceDeliveryGoodsList;
    }

    public List<ReplaceGoodsStatisticsVO> getReplaceStatisticsList() {
        return replaceStatisticsList;
    }

    public void setReplaceStatisticsList(List<ReplaceGoodsStatisticsVO> replaceStatisticsList) {
        this.replaceStatisticsList = replaceStatisticsList;
    }

    public List<ReplaceGoodsStatisticsVO> getReturnStatisticsList() {
        return returnStatisticsList;
    }

    public void setReturnStatisticsList(List<ReplaceGoodsStatisticsVO> returnStatisticsList) {
        this.returnStatisticsList = returnStatisticsList;
    }

    public List<ReplaceGoodsDetailQueryVO> getGoodsDetailList() {
        return goodsDetailList;
    }

    public void setGoodsDetailList(List<ReplaceGoodsDetailQueryVO> goodsDetailList) {
        this.goodsDetailList = goodsDetailList;
    }

    public Long getParentMemberId() {
        return parentMemberId;
    }

    public void setParentMemberId(Long parentMemberId) {
        this.parentMemberId = parentMemberId;
    }

    public Long getParentMemberRoleId() {
        return parentMemberRoleId;
    }

    public void setParentMemberRoleId(Long parentMemberRoleId) {
        this.parentMemberRoleId = parentMemberRoleId;
    }

    public Integer getReturnBatch() {
        return returnBatch;
    }

    public void setReturnBatch(Integer returnBatch) {
        this.returnBatch = returnBatch;
    }

    public Integer getReplaceBatch() {
        return replaceBatch;
    }

    public void setReplaceBatch(Integer replaceBatch) {
        this.replaceBatch = replaceBatch;
    }

    public Long getReplaceId() {
        return replaceId;
    }

    public void setReplaceId(Long replaceId) {
        this.replaceId = replaceId;
    }

    public String getApplyNo() {
        return applyNo;
    }

    public void setApplyNo(String applyNo) {
        this.applyNo = applyNo;
    }

    public String getApplyAbstract() {
        return applyAbstract;
    }

    public void setApplyAbstract(String applyAbstract) {
        this.applyAbstract = applyAbstract;
    }

    public String getConsumerName() {
        return consumerName;
    }

    public void setConsumerName(String consumerName) {
        this.consumerName = consumerName;
    }

    public String getSupplierName() {
        return supplierName;
    }

    public void setSupplierName(String supplierName) {
        this.supplierName = supplierName;
    }

    public String getApplyTime() {
        return applyTime;
    }

    public void setApplyTime(String applyTime) {
        this.applyTime = applyTime;
    }

    public Integer getInnerStatus() {
        return innerStatus;
    }

    public void setInnerStatus(Integer innerStatus) {
        this.innerStatus = innerStatus;
    }

    public String getInnerStatusName() {
        return innerStatusName;
    }

    public void setInnerStatusName(String innerStatusName) {
        this.innerStatusName = innerStatusName;
    }

    public Integer getOuterStatus() {
        return outerStatus;
    }

    public void setOuterStatus(Integer outerStatus) {
        this.outerStatus = outerStatus;
    }

    public String getOuterStatusName() {
        return outerStatusName;
    }

    public void setOuterStatusName(String outerStatusName) {
        this.outerStatusName = outerStatusName;
    }

    public List<ProofFileBO> getFaultFileList() {
        return faultFileList;
    }

    public void setFaultFileList(List<ProofFileBO> faultFileList) {
        this.faultFileList = faultFileList;
    }

    public ReceiveGoodsBO getReplaceGoodsAddress() {
        return replaceGoodsAddress;
    }

    public void setReplaceGoodsAddress(ReceiveGoodsBO replaceGoodsAddress) {
        this.replaceGoodsAddress = replaceGoodsAddress;
    }

    public ReceiveGoodsBO getReturnGoodsAddress() {
        return returnGoodsAddress;
    }

    public void setReturnGoodsAddress(ReceiveGoodsBO returnGoodsAddress) {
        this.returnGoodsAddress = returnGoodsAddress;
    }

    public EvaluateBO getEvaluate() {
        return evaluate;
    }

    public void setEvaluate(EvaluateBO evaluate) {
        this.evaluate = evaluate;
    }

    public List<TaskStepVO> getOuterTaskList() {
        return outerTaskList;
    }

    public void setOuterTaskList(List<TaskStepVO> outerTaskList) {
        this.outerTaskList = outerTaskList;
    }

    public List<TaskStepVO> getInnerTaskList() {
        return innerTaskList;
    }

    public void setInnerTaskList(List<TaskStepVO> innerTaskList) {
        this.innerTaskList = innerTaskList;
    }

    public String getTaskTypeKey() {
        return taskTypeKey;
    }

    public void setTaskTypeKey(String taskTypeKey) {
        this.taskTypeKey = taskTypeKey;
    }

    public String getReplaceReason() {
        return replaceReason;
    }

    public void setReplaceReason(String replaceReason) {
        this.replaceReason = replaceReason;
    }

    public Long getShopId() {
        return shopId;
    }

    public void setShopId(Long shopId) {
        this.shopId = shopId;
    }

    public String getShopLogo() {
        return shopLogo;
    }

    public void setShopLogo(String shopLogo) {
        this.shopLogo = shopLogo;
    }

    public String getShopName() {
        return shopName;
    }

    public void setShopName(String shopName) {
        this.shopName = shopName;
    }

    public Integer getAgentFlag() {
        return agentFlag;
    }

    public void setAgentFlag(Integer agentFlag) {
        this.agentFlag = agentFlag;
    }
}
